home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / comms / icom0425.arj / BETA.DOC < prev    next >
Text File  |  1994-04-25  |  92KB  |  1,728 lines

  1.                Intellicomm v2.01 BETA Release Information
  2.                ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  3.  
  4. Please don't press [Esc] until you've read this document!  There are
  5. many changes in the last couple of updates that you need to know about,
  6. and the only way to find out about them is to read this file.  If you're
  7. upgrading from Icom v1, please also make sure you read UPGRADE.DOC which
  8. lists all the changes from v1 to v2.
  9.  
  10. NOTICE
  11. ▀▀▀▀▀▀
  12. This is a BETA release of Intellicomm v2.0!  While it has been tested by
  13. many people for several weeks now, please be aware that bugs and/or
  14. incompatibilities may still exist in the code, and changes are taking
  15. place from one beta release to the next.  If you'd rather not help to
  16. work bugs out of this product, please delete it now and wait for the
  17. general release.
  18.  
  19. 2.01 Beta 6 Notes, 04-25-94
  20. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  21. ■ I went haywire last week and added a HOST MODE to Intellicomm.  A Host
  22.   isn't top priority, but I've had the bulk of the code written for
  23.   months, and it just needed a couple of days of debugging and
  24.   documentation writing.  Please see HOST.DOC for all the details.  Note
  25.   that calls to Intellicomm Host can also be automated by Intellicomm. 
  26.   Just use BIF Learn to call the Host the first time, and everything
  27.   will be set up automatically.  An [Icom Host v1.0] template has also
  28.   been included.
  29.  
  30. ■ Transfer Days are now easier to set in the File Tagger, and the split-
  31.   screen report (browse mode) now shows the transfer day next to the
  32.   transfer PRIORITY.  When you select "Priority" now in browse mode,
  33.   Tagger prompts for a priority as usual, THEN prompts for a Transfer
  34.   Day.  If you want to set a specific day of the week to transfer the
  35.   file, just pick the day from the menu.  Otherwise just press [Enter]
  36.   to select "Anyday" (means that it's okay to transfer the file on any
  37.   day of the week).
  38.  
  39. ■ Tagger "Find" / "Find all/Tag all" got caught in an endless loop if
  40.   the catalog was sorted by Filename/File Date or Catalog Date/Filesize.
  41.  
  42. ■ Fixed a bug in Xmodem/Xmodem-1K/Xmodem-1K-G downloads.  If Intellicomm
  43.   started the download before the sender started its upload, the
  44.   transfer was sometimes aborted.
  45.  
  46. ■ When you elected to "Delete" a Call BIFNAME task in the Job Editor, it
  47.   prompts "Delete all jobs for BIFNAME?".  If you answered Yes, the Job
  48.   Editor erroneously removed any "Pause job until", "Repeat job at", and
  49.   "Exit to DOS" tasks that followed.
  50.  
  51. ■ The script MKDIR command was not setting $ERRORLEVEL properly.
  52.  
  53. ■ The script CDATE2DATE and DATE2CDATE commands now set $ERRORLEVEL to 1
  54.   if an invalid date is specified, or set $ERRORLEVEL to 0 if a valid
  55.   date is specified.
  56.  
  57. ■ Other minor fixes.
  58.  
  59. 2.01 Beta 5 Notes, 03-24-94
  60. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  61. Version 2.01 beta 4 was only distributed to Intellicomm registrants who
  62. ordered during the months of January and Februrary.  The major change
  63. from beta 4 to beta 5 is that the online help and the script
  64. documentation are now complete... so you'll probably want to install
  65. beta 5 regardless, even if you have beta 4.  All of the bug fixes and
  66. changes below apply to both beta 4 and beta 5 (in relation to beta 3).
  67.  
  68. FIXED FROM 2.01 BETA 3
  69.  
  70. ■ IMPORTANT NOTE:  If you're running into any unusual behaviour with
  71.   Intellicomm, such as lockups while running the program or lockups
  72.   AFTER running ICOM.EXE, disable the 'Drop RTS on Disk I/O' option on
  73.   the main setup / Terminal Settings screen.  Please see the online help
  74.   from the Terminal Settings screen for more information.  If that
  75.   doesn't work, and you're using SMARTDRV (the MD-DOS disk cache)
  76.   disable the WRITE BEHIND cache on your hard drive by specifying the
  77.   drive letter after the SMARTDRV command in your AUTOEXEC.BAT file. 
  78.   Example: SMARTDRV.EXE C  ['C' assumes your hard drive is drive C:] 
  79.   This conflict between SMARTDRV / Drop RTS on Disk I/O only seems to
  80.   occur with the version of SMARTDRV that was included with DOS v6.x.
  81.  
  82.   The Icom main setup item 'Drop RTS on Disk I/O' now automatically
  83.   defaults to NO.  If you're running a multi-tasker (Windows, DESQview,
  84.   OS/2) and you notice 'Bad CRC errors' during file transfers or other
  85.   communications problems whenever your disk is accessed, try turning
  86.   the Drop RTS on Disk I/O setting back on.  If you then run into
  87.   lockups, the only compromise is to disable the write behind cache on
  88.   SMARTDRV (as mentioned above, specify your hard disk drive letter
  89.   after the SMARTDRV command in your AUTOEXEC.BAT: SMARTDRV C disables
  90.   the write behind cache on drive C), or to use another disk cache.
  91.  
  92.   Since many people are confused as to what a 'write behind cache' is,
  93.   I'll explain it a bit here.  The 'write behind' SMARTDRV buffer only
  94.   affects disk WRITES, and it INTERCEPTS any disk write attempts, stores
  95.   the data in memory only (the data is not written to disk immediately
  96.   as you would expect).  This affects disk writes that programs try to
  97.   make (to save information) or that you try to make yourself (to save a
  98.   document in your word processor for example).  SMARTDRV then monitors
  99.   your computer for some period of inactivity (assuming it can find
  100.   one... it may not if you turn your computer off after saving something
  101.   to disk) and only when it finds a period of inactivity does it write
  102.   the data from memory (the cache) to disk.  While this does increase
  103.   disk performance, since disk writes can be made in larger "chunks" of
  104.   data ... it can be DANGEROUS if you don't understand the concept,
  105.   since you can lose data if you simply turn your computer off, or press
  106.   [Ctrl-Alt-Del] or Reset (or get a lockup) without WAITING for the
  107.   write behind cache to flush its data to your hard drive.  Apparently
  108.   many people do not understand this concept, and this is why many disk
  109.   caches default to write behind buffering OFF, and force you to turn it
  110.   on (which implies that you know what it is, and thus know how to use
  111.   it).  SMARTDRV used to default write cacheing to OFF, but Microsoft
  112.   decided to default it to ON with the SMARTDRV version included with
  113.   DOS 6.x.  Aside from the above issues, this write behind buffering
  114.   conflicts with Icom's 'Drop RTS on Disk I/O' option (which simply
  115.   lowers the RTS line on the COM port before any disk writes; to avoid
  116.   lost data during disk I/O), though not on all computers.  Symptoms
  117.   include being unable to run any large programs after running
  118.   ICOM.EXE -- if Icom initialized the COM port (which initializes the
  119.   Drop RTS on Disk I/O routine) while it was active.
  120.  
  121.   Write behind buffering does not affect cache performance for disk
  122.   READS, which is where the most benefit can be gained from SMARTDRV
  123.   (and which Icom has no conflict with).  You can safely use both Drop
  124.   RTS on Disk I/O and SMARTDRV C ... as long as you specify your hard
  125.   drive letter after the SMARTDRV command.  Note that this does not
  126.   affect other disk cache write behind buffers: only SMARTDRV.
  127.  
  128. ■ Many people reported lockups after upgrading Intellicomm, the first
  129.   time (and only the first time) they ran ICOM.EXE.  The problem has
  130.   finally been found and fixed.
  131.  
  132. ■ If TAGGER.INI didn't exist (Icom v1 upgraders only) the ICOM.INI main
  133.   setup file was not converted to v2 format.  This caused ICOM.EXE to
  134.   display the message 'Please run INSTALL.EXE first' even though
  135.   INSTALL.EXE had been executed properly.  ICOM.INI is now updated to v2
  136.   format whether a TAGGER.INI exists or not.
  137.  
  138. ■ There were various hangup problems with beta 3 (endless hangups or
  139.   sometimes not hanging up at all).
  140.  
  141. ■ The debugging log mode 'Extended with buffered disk writes' was
  142.   leaving 'lost chains' on-disk, as the file wasn't always closed prior
  143.   to renumbering.  Renaming an open file causes lost chains.  Further,
  144.   due to the location of the debugging log initialization, the file was
  145.   not always placed in the \ICOM\CAP directory if no D:\PATH\ was
  146.   specified in the Debugging Log Filename main setup option.
  147.  
  148. ■ Auto HS/Link downloads were not disabled during automated downloads,
  149.   resulting in double-downloads (auto-HS/Link carrying out a download on
  150.   its own behind Icom's back before Icom started the [second] transfer
  151.   itself).
  152.  
  153. ■ Finally found the bug in the catalog update routine which is called
  154.   after all automated downloads to Untag files, call POSTFILE.SCR, etc. 
  155.   I've known there was a bug somewhere around this area for quite some
  156.   time, but couldn't find it.  The bug was only exposed if using the
  157.   'Export D/L's to TEXT FILE' option (for Sysops) on the main setup /
  158.   File Tagger Settings screen.  It's dead now.
  159.  
  160. ■ If you selected "Note" in the Tagger (and probably "Tag" as well but I
  161.   didn't test for this before I made the fix) to un-Note a noted file,
  162.   all the Transfer Priorities were displayed as '100' thereafter.
  163.  
  164. ■ 'Auto', 'Manual', etc., wasn't displayed on the terminal status line. 
  165.   And the script $STAT_ON variable was always set to 0 (signifying
  166.   status line OFF).  Both have been fixed.
  167.  
  168. ■ Time bank transactions were not carried out properly if the account
  169.   was full (deposits) or had no download bytes to withdraw.  If the
  170.   download byte transaction failed, Icom skipped the time transaction. 
  171.   Now fixed.
  172.  
  173. ■ The script IF, WHILE and SWITCH commands were not working properly in
  174.   v2.01 beta 3.  Only NUMERIC comparisons were working: text comparisons
  175.   (such as the SWITCH to compare file extensions in POSTFILE.SCR) were
  176.   not working at all.
  177.  
  178. ■ The script $BBS_AREA System Variable was not being set to the proper
  179.   value, nor was it documented properly in the Quick Summary.  $BBS_AREA
  180.   is no longer set to a number but is set to "[L]" (Logon menu or BBS
  181.   main menu), "[M]" (Message Menu), "[F]" (File Menu), "[B]" (Bank Menu)
  182.   or "" (blank if location unknown).  These new values make $BBS_AREA
  183.   compatible with the NEWAREA command, which expects "[L]", "[M]",
  184.   "[F]", or "[B]" to access a given menu or sub-menu.
  185.  
  186. ■ The maximum script variable length (max. length of data stored in
  187.   user-defined variables) and maximum script line length have both been
  188.   expanded from 128 to 256 characters.  The script 'DOS' command,
  189.   however, is still limited to 127 characters maximum.  This limit is
  190.   imposed by DOS itself.  4DOS accepts 255 characters per command, but
  191.   only if the arguments are typed directly on the command line or in a
  192.   batch file.
  193.  
  194. ■ Several script problems relating to the GOSUB command were also fixed. 
  195.   If you experienced 'ENDSWITCH without SWITCH' or 'ENDIF without IF' or
  196.   'ENDWHILE without WHILE' errors after using GOSUB, the problem has
  197.   been fixed.
  198.  
  199. ■ This isn't really a 'fix' but more a change: The right mouse button
  200.   can no longer be used in the Terminal to pop up the [Alt-Z] Terminal
  201.   menu.  The mouse was interfering with communications in some cases, so
  202.   it is now disabled in Terminal mode (though you can still use your
  203.   mouse to select items from the Terminal menu after pressing [Alt-Z]).
  204.  
  205. ■ Numerous other minor fixes were made here and there.  In most cases
  206.   only one person ran into/reported the problem(s), and many were in
  207.   little-used areas of the program... so they weren't worth documenting
  208.   here.
  209.  
  210. ADDED
  211.  
  212. ■ The online help is finally finished!
  213.  
  214.  
  215. ■ The script documentation (SCRIPT.DOC) is finally finished!
  216.  
  217. ■ BBSTUTOR.DOC and AUTOICOM.DOC have also been included this time.  This
  218.   release contains all the files and features that will be distributed
  219.   in the release version... which I hope to make in a week or two if no
  220.   major bugs show up in this one.
  221.  
  222. ■ Major changes.  I modified the 'edit string' routine so that it can
  223.   now accept more characters than it displays on the screen (i.e. it can
  224.   scroll text within editing fields).  The purpose was to allow you to
  225.   define longer BIF responses and various other things.  Instead of 31
  226.   characters per Custom Command, you can now enter commands up to *150*
  227.   characters long.  And instead of being limited to 20 characters per
  228.   BIF response you can now enter double that per response.
  229.  
  230.   Job Changes:
  231.  
  232.   1. The 'Search BBS for files[s]' task now accepts strings up to 80
  233.      characters in length.
  234.   2. The 'Custom Command/Run script' task now accepts strings up to 150
  235.      characters in length, which not only allows much more involved
  236.      tasks to be handled with Custom Commands (with strategically placed
  237.      ^M's, ||, ~~~, etc.: see the online help for details) but also
  238.      allows many more script parameters to be passed when using a
  239.      @SCRIPT command in a Custom Command.
  240.   3. The 'DOS Command/Run a program' task now accepts strings up to 150
  241.      characters in length, again allowing for more command line options
  242.      to be passed to programs/BAT files you run.
  243.   4. The 'Capture on/off' task now accepts strings up to 64 characters
  244.      in length, allowing you to specify a full D:\PATH\FILENAME.EXT as
  245.      necessary.
  246.  
  247.   BIF Changes:
  248.  
  249.   1. All BIF responses (any commands Intellicomm SENDS to the BBS either
  250.      in response to a BIF prompt, or to access a sub-menu, search for
  251.      files, get new files lists, etc) now accept up to 40 characters.
  252.   2. The 'Reply Dir' / 'Message Dir' / 'Upload PATH' / 'Download Dir'
  253.      BIF items also now accept up to 40 characters allowing you to
  254.      override the default main setup directories with a much longer
  255.      D:\DIR1\DIR2\DIR3...etc.
  256.  
  257.   All other BIF items (BIF prompts included) are still fixed at the 20
  258.   character maximum.
  259.  
  260. ■ POSTFILE.SCR has also undergone major changes.  Instead of editing the
  261.   script directly, it now has its own 'main setup' program; POSTINI.SCR,
  262.   which uses menus and so forth to prompt for the POSTFILE settings,
  263.   then stores the settings in a file called POSTFILE.INI.  POSTFILE.SCR
  264.   now gets its settings from this POSTFILE.INI file instead of having
  265.   them hardcoded into the script itself.
  266.  
  267.   The POSTFILE.SCR setup was simple enough, and required no rocket
  268.   science or real script writing skills to get it working... but the
  269.   setup couldn't exactly have been termed 'user friendly'.  The
  270.   POSTFILE.SCR setup is now much more user friendly, isolating you from
  271.   the script entirely.
  272.  
  273.   The main reason I made this change was to keep the user-specific setup
  274.   information in a separate file (POSTFILE.INI) so that I can update the
  275.   existing POSTFILE.SCR without forcing everyone to do the setup every
  276.   time.  Now that POSTFILE.SCR contains no user-specific information
  277.   updating the script will be simple.  Another reason the change was
  278.   made was slow startup time: with all the comments and so forth at the
  279.   top of the old POSTFILE.SCR, the script was quite slow to execute on
  280.   some machines.
  281.  
  282.   If you made no modifications to POSTFILE.SCR other than your setup
  283.   information, the upgrade will be easy and automatic.  But if you
  284.   modified the body of the script itself, this one upgrade could be
  285.   somewhat of a pain. How you handle the upgrade is your choice:
  286.   INSTALL.EXE will rename your existing POSTFILE.SCR to POSTFILE.OLD and
  287.   will install the new POSTFILE.SCR / POSTINI.SCR (which will prompt you
  288.   for your setup information the first time POSTFILE is used).  The best
  289.   course of action would be to then load both POSTFILE.OLD and
  290.   POSTFILE.SCR into a Text Editor capable of displaying/editing two or
  291.   more files, and update the new POSTFILE.SCR with any modifications you
  292.   made to the .OLD (the 'CustomWork' subroutine for example).  But if
  293.   you prefer, you can simply delete the new POSTFILE.SCR/POSTINI.SCR and
  294.   rename POSTFILE.OLD.  Your existing POSTFILE *will* work as it was
  295.   without modification.
  296.  
  297. ■ With thanks to Steve Willer for creating the idea and the routine,
  298.   POSTFILE.SCR can now also use the DESCRIBE command to allow you to see
  299.   the descriptions of newly downloaded files right from the DOS prompt
  300.   using a DIR command!  This option defaults to OFF, but can be turned
  301.   on the first time POSTFILE.SCR executes, for those with 4DOS/NDOS who
  302.   wish to use this feature.
  303.  
  304. ■ A new main setup screen 'Sysop Settings' has been added, and a new
  305.   setting 'POSTFILE.SCR Settings' has been added to the File Transfer
  306.   Settings screen.  The former contains the 'Export D/L's to TEXT FILE'
  307.   and 'BIF Format for Export' items that were previously on the File
  308.   Tagger Settings screen (along with two new options explained below). 
  309.   The latter calls POSTINI.SCR which allows you to re-configure the
  310.   user-specific information for POSTFILE.SCR (or to disable/enable
  311.   POSTFILE.SCR).  If you use your -old- POSTFILE.SCR, the new
  312.   'POSTFILE.SCR Settings' option will not work, since all the user-
  313.   specific information was kept in POSTFILE.SCR previously.
  314.  
  315. ■ A BIF template has been added for Spitfire BBS's along with common
  316.   Spitfire bank/message template files.
  317.  
  318. ■ Tagger Tools Import/Export options have been moved to a sub-menu. 
  319.   Just select Import/Export from the Tagger Tools to access the options.
  320.  
  321. ■ 'Update DOWNLOAD.NDX' has been added to the Tagger Tools menu allowing
  322.   manual DOWNLOAD.NDX updates when desired.
  323.  
  324. ■ If 'Use DOWNLOAD.NDX' is turned on (main setup, File Tagger Settings)
  325.   Icom now updates the index prior to all automated new files list
  326.   imports.  Previously the DOWNLOAD.NDX update was only done after
  327.   automated downloads.
  328.  
  329. ■ Still more DOWNLOAD.NDX support:  Icom's auto-download routine now
  330.   ignores Tagged files that exist in the DOWNLOAD.NDX (DOWNLOAD.NDX
  331.   holds the filenames of all previously downloaded files if you're
  332.   wondering).  Further, if you Tag a file that exists in DOWNLOAD.NDX,
  333.   Tagger now warns you and allows you to cancel the Tag.  If you proceed
  334.   with the Tag the filename is removed from DOWNLOAD.NDX to allow the
  335.   auto-download routines to re-download the file.
  336.  
  337. ■ A new option 'Auto Tag Remaining Files?' has been added to the main
  338.   setup 'Tagger Keywords' screen.  If Auto Tag Remaining Files is set to
  339.   YES, Tagger automatically tags all newly imported files.  A 'newly
  340.   imported file' is a file that (a) doesn't exist in DOWNLOAD.NDX
  341.   (previously downloaded files); (b) doesn't exist in the catalog
  342.   already; (c) wasn't excluded by the Exclude File Keywords; (d) wasn't
  343.   "noted" by the Note File Keywords.  I.e. all files that would normally
  344.   be UNTAGGED are instead automatically TAGGED for download if Auto Tag
  345.   Remaining Files is turned on.  Great for Sysops: turn this option on,
  346.   and Icom will collect all new files that you haven't downloaded
  347.   previously, and that don't exist on your 'Exclude' or 'Note' keyword
  348.   lists.
  349.  
  350. ■ Support for Sysops:  A new main setup option 'Export by ID/Conference'
  351.   has been added to the new 'Sysop Settings' screen.  If this option is
  352.   turned on, Intellicomm ignores the 'Export D/L's to TEXT FILE'
  353.   filename and instead exports files by BIF ID / conference.  For
  354.   example, if you auto-download two files using a BIF called JOESBBS;
  355.   the first file from conference 0 and the second from conference 1,
  356.   Icom would export the file records (filename, size, date, description)
  357.   to:
  358.  
  359.    \ICOM\LST\JOESBBS.0
  360.    \ICOM\LST\JOESBBS.1
  361.  
  362.   You can then append these files to the proper conference file listing
  363.   for your own BBS.
  364.  
  365. ■ More support for Sysops: Another 'Sysop Settings' main setup option
  366.   has been added: 'Move files to Subdir'.  This option allows you to
  367.   define a D:\PATH\ in which Intellicomm will create subdirectories
  368.   based on the BIFID/conferences it downloaded files from, and then move
  369.   newly downloaded files into separated subdirectories.  For example if
  370.   you defined E:\TEMP in this option, and Icom downloaded the following
  371.   files:
  372.  
  373.    E:\ICOM\GET\FILE1.ZIP   [From JOESBBS, conference 0]
  374.    E:\ICOM\GET\FILE2.ZIP   [From JOESBBS, conference 1]
  375.  
  376.   ...Icom would create directories (if necessary) and move the files to:
  377.  
  378.    E:\TEMP\JOESBBS\0\FILE1.ZIP
  379.    E:\TEMP\JOESBBS\1\FILE2.ZIP
  380.  
  381.   [The Subdir defined in 'Move files to Subdir', the BIFID, then the
  382.   conference the file was downloaded from are used to create a
  383.   subdirectory name.]  You can then operate on the files separately,
  384.   grouped by the BBS's and conferences Intellicomm downloaded from. 
  385.   Note that the files are moved AFTER POSTFILE.SCR has done its virus
  386.   checking, so only files that are virus free are moved.  Note also that
  387.   in order to perform a MOVE (instead of a very slow COPY) the 'Move to
  388.   Subdir' directory must be on the same DRIVE (D:) as your Intellicomm
  389.   download directory.
  390.   
  391.   Don't set up any .BAT files to automatically handle new downloads,
  392.   until you perform an auto-download or two and are 100% positive of the
  393.   subdirectory names Intellicomm moves the files to.
  394.  
  395. Script Changes
  396. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  397. The rest of the changes have to do with scripts.  Skip down to the beta
  398. 3 notes if you're not interested in scripts.
  399.  
  400. ■ As mentioned earlier, all the script documentation is now complete!
  401.  
  402. ■ A new script command CAPSTAMP has been added.  This command (which
  403.   takes no parameters) stamps the same type of header that Icom itself
  404.   stamps:
  405. ==<< YY-MM-DD HH:MM:SS BIFID - BBS Name >>============================
  406.  
  407.   in the current capture file (if open) and if *capstamp (the main setup
  408.   option 'Stamp Date/Time Cap Open' is on.
  409.  
  410. ■ The script STRITEM command has been enhanced, but since STRITEM
  411.   previously was not documented... it won't matter to you unless you
  412.   figured STRITEM out on your own.  The SUMMARY is now:
  413.  
  414.   STRITEM vITEMBUFFER sSEARCHSTRING nITEMNUMBER [sITEMSEPARATOR]
  415.  
  416.   [sITEMSEPARATOR] is a new (optional) parameter.  If sITEMSEPARATOR is
  417.   omitted, spaces, tabs and semicolons serve as the default item
  418.   separator, and spaces/tabs/semicolons enclosed between single or
  419.   double quotes (' or ") in sSEARCHSTRING are ignored.  If
  420.   sITEMSEPARATOR is specified, spaces, tabs and semicolons are ignored
  421.   and only sITEMSEPARATOR serves to separate one item from another in
  422.   sSEARCHSTRING.
  423.  
  424. ■ The STRLEN command now takes an optional position in sSTRING to count
  425.   from.  The new summary is:
  426.  
  427.    STRLEN vLENGTH sSTRING [nPOS]
  428.  
  429.   If nPOS is omitted, 0 is assumed (counts the number of characters from
  430.   the beginning of sSTRING).  If nPOS is specified (0 being the first
  431.   character in sSTRING) the count is done from nPOS onward.  The nPOS
  432.   parameter will normally be used after obtaining the position of a
  433.   given character with STRCHR, STRCHRI, etc.
  434.  
  435.  
  436. 2.01 Beta 3 Notes, 12-24-93
  437. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  438.  
  439. NOT FIXED
  440.  
  441. ■ There was a bug (several bugs over the course of the v2 testing
  442.   actually) that caused your catalog indexes to misrepresent the data in
  443.   your Tagger catalogs.  You can fix any previous problems before using
  444.   this update for the first time by deleting all your Tagger index files
  445.   with the command:
  446.  
  447.    DEL \ICOM\DBF\*.NDX
  448.  
  449.   Note that this does NOT destroy the catalogs themselves: Tagger will
  450.   rebuild the indexes automatically the first time the catalog is
  451.   accessed.  [Does not apply to \ICOM\DOWNLOAD.NDX; you needn't delete
  452.   that file.]
  453.  
  454. ■ There may still be a bug in the File Tagger, or in another area of
  455.   Intellicomm that affects File Tagger catalogs.  Three catalog-related
  456.   problems were reported with v2.01 beta 2 and a couple of fixes were
  457.   made (see below) but I have as yet been unable to reproduce most of
  458.   the v2.01 Tagger-related problems.  If you do run into a problem with
  459.   the File Tagger, please attempt to recall exactly what you did (see
  460.   the \ICOM\CAP\ICOM.DBG debugging log to refresh your memory) and try
  461.   to reproduce the problem before reporting it, if possible.  If you
  462.   cannot reproduce the problem yourself, chances are I won't be able to
  463.   reproduce it either, and very little can be done about problems that
  464.   cannot be reproduced.  I've already looked all the code over many
  465.   times and have come up empty, so whatever it is (or was) it's not
  466.   going to be easy to find without detailed information.
  467.  
  468.   If you do run into a problem, access the Icom main setup, switch to
  469.   the "Debugging Log Settings" screen and set the debugging log to
  470.   "Extended with Buffered Disk Writes".  This will write very extensive
  471.   debugging information in the debugging log, which you can then post in
  472.   your message to me to show me exactly what Icom did.
  473.  
  474. FIXED FROM 2.01 BETA 2
  475.  
  476. ■ If Icom took a long time to start on your system, and took a long time
  477.   to perform DOS shells, etc., the problem should now be much less
  478.   severe.  Some mouse drivers take extended periods of time to perform a
  479.   mouse 'reset' and this is what causes the delay ... but that was only
  480.   part of the problem.  Intellicomm was performing this 'reset' up to
  481.   SIX times in some circumstances and that problem has now been
  482.   corrected and only one reset is performed, when a reset is necessary.
  483.  
  484. ■ Another Tagger bug was fixed, though just what effect the bug had is
  485.   hard to determine.  Even explaining the problem in general terms is
  486.   difficult...  The only way I was able to locate it was via a detailed
  487.   report from a user: Hilight a Tagged or Noted record that had a
  488.   Catalog Date older than the View Date (keeping in mind that the View
  489.   Date is ignored when it comes to Tagged/Noted records)... then Untag
  490.   the file (or pick "Untag" to Untag all tagged/noted files).  Tagger
  491.   tried to 're-hilight' the same file after the untag, but couldn't
  492.   because it was no longer visible.  This led to errors (nothing would
  493.   be visible at all, and Tagger would display "File Num 0 of 0" in the
  494.   bottom display) and perhaps even catalog corruption as various flags
  495.   and variables ended up out of whack after such an occurrance.
  496.  
  497. ■ If an invalid date crept into one of your file catalogs (corruption
  498.   from a previous bug being the most likely reason... perhaps even due
  499.   to the bug listed above) the catalog became all but unuseable: The
  500.   index rebuiding routines gave up when they found an invalid date, and
  501.   that was the end of the catalog: no indexes, and no way to rebuild
  502.   them, means no catalog.  Now the index rebuilding routines check for
  503.   this error and correct it by writing today's date in the corrupted
  504.   database record.  You should then at least be able to get into the
  505.   catalog where you may see a record full of garbage (except for the
  506.   dates) and you can then delete the corrupted record and pack.
  507.  
  508. ■ After Tagger imports, either automated or manual, the next file
  509.   Tagged/Noted was not updated properly in the indexes.  If using the
  510.   Tag Status/Location sort order, Tagger would display "Record re-
  511.   sorted" but the record was not re-sorted to the top of the catalog and
  512.   remained where it was... and from that point on, your indexes were out
  513.   of whack with the database information, leading later to "Key not
  514.   found" errors and possibly other problems.
  515.  
  516. ■ The menu which asks whether to install ICOMAUTO.ZIP (an auto-BIF
  517.   downloaded from a BBS) was not displayed properly.
  518.  
  519. ■ Many other minor fixes were made that are too obscure or too minor to
  520.   document.  If you ran into a problem previously and it no longer
  521.   exists, that's the documentation of the fix.
  522.  
  523. The rest of the FIXES relate to scripts.  Skip down to the ADDED section
  524. if you aren't interested.
  525.  
  526. ■ The script VGETCHRS command (get characters from the video screen) was
  527.   not working properly.
  528.  
  529. ■ Script WAITFOR commands had difficulty if Icom was running under a
  530.   multitasker (DESQview, OS/2 or Windows).  Time slices were released
  531.   too rapidly resulting in very slow terminal updates during a WAITFOR. 
  532.  
  533. ■ A further problem was also found with WAITFOR that forced a change
  534.   which may affect your existing v2 scripts.  If many characters were
  535.   piled up in the Icom Receive Buffer when WAITFOR was executed, it was
  536.   possible for the text WAITFOR was waiting for to be missed.  This was
  537.   due to the fact that WHEN and WAITFOR were using different methods to
  538.   match text from the terminal.  The details are too boring to go into,
  539.   but what I had to do to solve the problem was take one of the WHEN
  540.   slots and use it to track the WAITFOR text.  This doesn't affect how
  541.   WHEN/WAITFOR work together from a script writing point of view, it
  542.   simply means that you now have one fewer WHEN to work with than you
  543.   did previously: 19 WHENs and not 20.  If you have written a script
  544.   that uses all 20 of the WHEN slots you'll have to now accomplish the
  545.   task either by handling two prompts with one WHEN (if you can find
  546.   common BBS text in two prompts and common responses are sent to both
  547.   prompts) or by splitting the task up into two pieces and using WAITFOR
  548.   earlier than you did previously.
  549.  
  550. ADDED
  551.  
  552. ■ A new main setup screen: "Debugging Log Settings" which allows you to
  553.   define the debugging log 'level' (either Normal or Extensive; more
  554.   below), the filename used (for possible RAMDisk use when in EXTENSIVE
  555.   mode), and the number of backup logs to keep on hand.  Previously only
  556.   one "back issue" of the debugging log was kept, but this proved to be
  557.   insufficient and now, by default, 4 back issues are kept (5 files
  558.   total including ICOM.DBG itself).
  559.   
  560.   The new EXTENSIVE debugging log level, which is turned on via the new
  561.   "Debugging Log Settings" main setup screen, has two modes: Immediate
  562.   Disk Writes and Buffered Disk Writes.  Immediate Writes should be used
  563.   when you have a problem which involves a lock up.  Buffered writes
  564.   should be used to gain detailed information when there's no
  565.   possibility of a lockup.  If you report a problem and I need further
  566.   information, I'll recommend one of the two Extensive log levels based
  567.   on the situation.
  568.  
  569.   For more information regarding the new Debugging Log settings, access
  570.   the Icom main setup, select "Debugging Log Settings" and press [F1]
  571.   for detailed online help.
  572.  
  573. ■ You can now press [Up] / [Down] (cursor arrow keys) to adjust the
  574.   priority after selecting "Priority" in the Tagger.  [+] and [-] still
  575.   work as well.
  576.  
  577. ■ When you delete a file (browse mode "Del" option) the File Tagger now
  578.   checks on-disk for the file: first in the directories listed on your
  579.   'Upload PATH' then the Download Directory (\ICOM\GET), then in all the
  580.   directories on your DOS PATH (if "Use PATH to Locate files" is turned
  581.   on, in the main setup General Settings screen).  If the file is found
  582.   you are asked whether to delete the file on-disk as well.
  583.  
  584. 2.01 Beta 2 Notes, 12-15-93
  585. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  586.  
  587. FIXED FROM 2.01 BETA 1
  588.  
  589. [Not many people had a chance to try v2.01 Beta 1 as it was a very
  590. short-lived release.  If you didn't try it, skip to the 2.01 beta 1
  591. notes just below which detail v2.00 beta 3 fixes.]
  592.  
  593. ■ No less than three bugs were located in the post-job processing
  594.   routines, which include everything from running POST*.BAT to updating
  595.   Tagger Catalogs.  Explanations of the bugs would be meaningless even
  596.   to other programmers, but suffice to say that if you ran into problems
  597.   any time after running a job, or even after exiting Intellicomm when
  598.   starting another program, you are three times less likely to run into
  599.   problems now.
  600.  
  601.   These bugs were also the cause of many strange happenings from lockups
  602.   to endless Print Screens, after using [Alt-Q] / Abort Job (switch to
  603.   manual by aborting the job).  I had thought this problem was fixed
  604.   with v2.01 beta 1 but it was not.  Just after the release of 2.01 beta
  605.   1 I finally found a reliable way to reproduce lockups after switching
  606.   to manual and was thus able to re-test after fixing the bugs, and
  607.   VERIFY that the problem had been fixed.  It's definitely fixed.
  608.  
  609. ■ There was a bug in the 2.01 beta 1 File Tagger catalog conversion
  610.   routines that locked up some machines on new installations.  I was
  611.   unable to reproduce a lockup during or after catalog conversion, but
  612.   did eventually locate a bug in this area and fixed it.  Hopefully it
  613.   was 'the' bug that was causing lockups on some machines.
  614.  
  615. 2.01 Beta 1 Notes, 12-09-93
  616. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  617.  
  618. FIXED FROM 2.00 BETA 3
  619.  
  620. ■ Usage Stats, displayed at the Main Menu, were being corrupted somehow. 
  621.   I have no idea as yet what caused the problem, but more than one
  622.   person reported corrupted Usage Stats.  More than likely, one of the
  623.   bugs listed below (or above) was corrupting memory, but as I have no
  624.   indication as to what caused the problem I can't be sure that it's
  625.   fixed.  Until the problem is located I've added a Main Menu option to
  626.   reset the stats.  The option is not visible: just press [Ctrl-S] from
  627.   the Main Menu and all your stats will be reset to zero.  Please let me
  628.   know if you run into corrupted stats again with v2.01, and, if
  629.   possible, attempt to recall what you did with Intellicomm before the
  630.   stats were corrupted.  If you press [Ctrl-S] to reset your stats to
  631.   zero, then can REPRODUCE the corruption through a certain set of
  632.   events, we'll have this problem fixed very quickly.
  633.  
  634. ■ There was an error in the Windows Setup documentation (online help). 
  635.   You were instructed to set all the COMxBuffer= settings to ZERO, and
  636.   while this solves problems on some machines, and also bypasses a
  637.   Windows bug, it can CAUSE problems on other machines, particularly if
  638.   a 16550 UART is not in use.  If you're having problems running
  639.   Intellicomm under Windows (lost characters and/or file transfer
  640.   errors) change the appropriate COMxBuffer setting in your
  641.   \WINDOWS\SYSTEM.INI file to:
  642.  
  643.   COMxBuffer=8192
  644.  
  645.   ['x' being the COM port Icom uses; e.g. COM2Buffer=8192].  The Windows
  646.   online help topic (see "Multitasking Intellicomm" from the Help Index)
  647.   has also been revised for v2.01 with some further tips that may be of
  648.   interest if you're having problems with Icom under Windows.
  649.  
  650. ■ Whether a 'fix' or a new feature, I think we have finally arrived at a
  651.   proper solution for COM port access and modem initialization. 
  652.   Starting with v2.01 beta 1, the COM port isn't touched and the modem
  653.   isn't initialized at program startup.  Modem initialization (by
  654.   default) takes place as with Icom v1.00, just before accessing the
  655.   dialer/terminal for the first time.  Further, the COM port is now
  656.   returned to its original state when not in use, if Icom is offline.  I
  657.   was able to program this in such a way that we lost none of the
  658.   benefits of v2.00 (i.e. the contents of the scrollback buffer/terminal
  659.   screen remain intact if you switch out of the Terminal while online,
  660.   which was not the case with v1.00) and gained back all the benefits of
  661.   v1.00 as far as COM port use and modem initialization.  Further, a
  662.   switch has been added to the main setup "General Settings" screen
  663.   allowing you to force Icom to initialize the modem at program startup,
  664.   if you run into dialing problems due to this change.
  665.  
  666. ■ Again a new feature which may end up to be a fix on some systems; a
  667.   new switch has been added to the main setup / General Settings screen:
  668.   "Drop RTS on Disk I/O".  If set to Yes, Intellicomm re-vectors
  669.   interrupt 13h (the BIOS vector for disk input/output) to point to a
  670.   little routine which simply lowers the RTS (request to send) line on
  671.   the COM port, if the port is open, then calls the original BIOS vector
  672.   to perform the disk I/O, then raises RTS.  While RTS is dropped,
  673.   modems that support CTS/RTS flow control will not send data to the
  674.   computer.
  675.  
  676.   Most communications programs and external protocols DO drop the RTS
  677.   line for disk activity (or have an option for it), since characters
  678.   from the COM port can be lost during disk I/O if RTS isn't lowered. 
  679.   However, most programs do NOT re-vector interrupt 13h... they simply
  680.   lower RTS in their own disk write routines, which means that if you
  681.   use a disk cache with a write behind buffer (delayed disk writes) the
  682.   timing is thrown off and the RTS protection is useless.  Intellicomm
  683.   avoids this problem by capturing the CACHE activity (via interrupt
  684.   13h) whenever disk reads/writes actually take place.  It's much more
  685.   reliable to handle it this way -- but given the strange problems with
  686.   v2.00 I decided to include a switch to allow you to shut this feature
  687.   off, simply so we can eliminate this feature as the possible cause of
  688.   lockups during or after running Intellicomm.  Thus, if you do run into
  689.   problems with v2.01, shut this switch off and see what happens.  Most
  690.   likely it will have no effect, but if it DOES, and the problems go
  691.   away, please let me know.
  692.   
  693. ■ Intellicomm's terminal and timer routines have been optimized and
  694.   streamlined, significantly reducing overhead.  Performance
  695.   improvements will be most noticeable on slower computers with fast
  696.   modems.  Protocols will most likely show no differences; this affects
  697.   only the terminal.
  698.  
  699. ■ Due to a change in this release, you're now much, MUCH better off NOT
  700.   swapping Icom out of memory when calling external protocols.  By
  701.   default, Icom doesn't swap itself out when calling external protocols,
  702.   since it wastes time swapping Icom back IN and re-initializing the COM
  703.   port after the external protocol finishes; which can cause missed
  704.   'Transfer Successful' messages from the BBS.  There's absolutely no
  705.   need now to swap Icom out of memory when calling external protocols,
  706.   unless the protocol won't load due to a lack of memory.  Thus you
  707.   should remove any SW: (SWap) prefixes in the main setup/External
  708.   Protocols menu:
  709.  
  710.   ║  1.  DSZ-Zmodem          D    SW:DSZ-D.BAT     SW:DSZ-U.BAT    No  ║
  711.                                   ───              ─── 
  712.   Change to:
  713.  
  714.   ║  1.  DSZ-Zmodem          D    DSZ-D.BAT         DSZ-U.BAT      No  ║
  715.  
  716. ■ I believe the hangs and other problems that occurred just after
  717.   Intellicomm disconnected in manual mode, have been fixed. 
  718.   Unfortunately I was unable to reproduce the problem at will, so there
  719.   was no way to confirm 100% that the problem was fixed.  I found some
  720.   coding problems and made a fix, but whether it was 'the' fix I won't
  721.   know until I hear back from you.
  722.  
  723. ■ Beta 3 was the first release of Intellicomm to become both Windows and
  724.   OS/2 aware (v1.00 was already DESQview aware).  "Aware" meaning that
  725.   Icom will detect the type of operating system at program startup, and
  726.   will give "idle" time back, avoiding a needless waste of processor
  727.   time when Icom is idle.
  728.  
  729.   However, apparently beta 3 was being a little TOO generous and giving
  730.   back so much time that file transfers wouldn't start properly
  731.   (particularly uploads), and in one case it took Icom 30 seconds just
  732.   to respond to a BBS prompt.  I made a number of changes and believe
  733.   this is fixed now.  If you run into problems with v2.01, see the note
  734.   in the "Added" section below (the new "Release Time Slices" main setup
  735.   option), and please drop me a note reporting your findings.  I'll be
  736.   particularly interested to know whether shutting off Release Time
  737.   Slices setting mentioned below fixes the problem for you.
  738.  
  739. ■ Max. Online Time defined in each BIF was not working.  If an automated
  740.   run went past the max. time, Icom would display a message stating that
  741.   the maximum online time had elapsed, but would cancel the job WITHOUT
  742.   logging off the BBS.  Fixed.
  743.  
  744. ■ Reports of file dates and/or times that were erroneous (4 hours off,
  745.   etc) in v2.00 beta 3 are not Intellicomm's problem.  I tested a
  746.   computer-to-computer link up where the file date/time was known on the
  747.   remote computer, sent the file with DSZ Zmodem, received with Icom's
  748.   Zmodem (then Telix's, then Qmodem's, then with DSZ), and the file
  749.   date/time was right on the money.  If you get improper file
  750.   dates/times, it's either due to a bug in the SENDING protocol (not
  751.   adjusting to Greenwich Mean Time [GMT] as required by the Ymodem and
  752.   Zmodem specifications) or the fact that you're in a time zone other
  753.   than Eastern Standard Time (EST) which is what Intellicomm defaults to
  754.   in lieu of a time zone variable.  Outside the Eastern Standard Time
  755.   zone, you must set the 'TZ' (Time Zone) environment variable in your
  756.   AUTOEXEC.BAT specifying your time zone.  Note that many other
  757.   protocols/comm. programs will also make use of this variable when
  758.   transferring files:
  759.  
  760.      SET TZ=PST8PDT
  761.  
  762.   The above says your Time Zone is Pacific Standard Time, 8 hours
  763.   westward from GMT (negative numbers adjust eastward from GMT), and
  764.   that the zone follows "Daylight Savings Time".  The actual letters
  765.   used (PST, PDT) are irrelevant; to Intellicomm at any rate.  Any 3
  766.   letters followed by the number of hours west (positive number) or east
  767.   (negative number) your area is from GMT (0 to +12 -12 hours) is
  768.   acceptable.  If you follow that by any 3 letters (the PDT above), it
  769.   is assumed that your time zone follows Daylight Savings Time.  Whether
  770.   DST is actually in *effect* is irrelevant: Icom will figure that out
  771.   based on the current day of the year, and your time zone.  So, if
  772.   you're in Sydney Australia, add SET TZ=XXX-10XXX (10 hours east) to
  773.   your AUTOEXEC.BAT; in Rio De Janeiro SET TZ=XXX3XXX (3 hours west), in
  774.   Newfoundland SET TZ=XXX4 (no XXX following since Nfld. doesn't follow
  775.   Daylight Savings Time).
  776.  
  777.   This problem is not unique to Intellicomm, and the same problems occur
  778.   with any external protocol, communications program or BBS; since DOS
  779.   has no idea which time zone you're in ... and Zmodem's designer
  780.   decided to pass file dates/times, as the number of seconds since
  781.   January 1st, 1970, Greenwich Mean Time.  Thus, Intellicomm (any
  782.   receiving Ymodem or Zmodem protocol) must ADJUST that Jan 1st, 1970
  783.   GMT time back up to the proper time for your time zone.  Again, it's
  784.   quite possible that some Zmodem implementations and/or the TZ (or
  785.   ZONE= for DSZ) variables on *BBS's*, are not adjusting file times to
  786.   Greenwich Mean Time as they should.  If you've never heard tell of
  787.   this issue before... you're not alone.  Many Sysops haven't heard of
  788.   it either, and if either the BBS, or the Zmodem implementation AT the
  789.   BBS doesn't adjust to GMT properly ... or your system doesn't adjust
  790.   FROM GMT properly due to no 'TZ' variable, you'll end up with
  791.   erroneous file dates/times on Ymodem and Zmodem downloads.
  792.  
  793. ■ 'Add line feeds' was not being turned on automatically in Chat Mode,
  794.   causing the remote's lines to overwrite one another.  Fixed.
  795.  
  796. ■ Icom's internal screen blanker is now temporarily disabled while you
  797.   are in Chat Mode ([Alt-T] from the Terminal).
  798.  
  799. ■ Have you noticed your BIF Logon Passwords going "missing"
  800.   periodically?  The cause has finally been found and fixed.  If you
  801.   hilighted a BIF that contained a Logon Password and selected "Create"
  802.   to create a similar BIF... the password in the original BIF was lost
  803.   every time.
  804.  
  805. ■ When the BIF Editor's "Merge" option was used, the computer would lock
  806.   up after exiting the BIF Editor.  Fixed.
  807.  
  808. ■ Tagger fixes:  Your existing catalogs will be completely rebuilt when
  809.   2.01 beta 1 accesses a catalog for the first time.  If the rebuild
  810.   fails (unless due to lack of disk space for the rebuild), you'll have
  811.   to delete your catalogs and start from scratch, or restore your v1.00
  812.   catalogs.  Many Tagger enhancements and changes have taken place from
  813.   beta 3 to 2.01 beta 1.  Please read on.
  814.  
  815. ■ If you tagged a file using anything but the Tag Status/Location sort
  816.   order, and were near the bottom of the catalog, Tagger would lose its
  817.   place and would start re-displaying files from the TOP of the catalog
  818.   if you pressed [Down] or [PgDn].  Fixed.
  819.  
  820. ■ A major re-organization of the File Tagger code has taken place, to
  821.   thwart "Key not found" errors, which can lead to index corruption and
  822.   even duplicate index keys (two keys pointing to the same record,
  823.   making it appear as though duplicate records exist in the catalog). 
  824.   Key not found simply means that one or more index (.NDX) files are out
  825.   of whack with the data in the database (.DBF).  But they can also
  826.   occur if Tagger saves its position in the index prior to Tagging a
  827.   file, for example, then attempts to restore that position (find an
  828.   index key that no longer exists due to the fact that the Tag Status
  829.   has changed).  It's an unusually complicated affair to keep everything
  830.   straight under every possible circumstance, simply due to the way that
  831.   dBASE indexes work... but I spent more than a few days going over the
  832.   code and re-organizing it, adding double-checks and so forth, and I
  833.   tested everything I could think of without running into any further
  834.   problems.  But please be aware that it's extremely difficult to test
  835.   every possible circumstance the Tagger could run into, and that
  836.   problems may still exist... and due to the number of changes made, as
  837.   careful as I was, new bugs may even have been inadvertently introduced
  838.   in other areas.  However, due to the re-organization that took place,
  839.   any future bugs should be much easier to locate and fix.
  840.  
  841. ■ If you Noted a TAGGED file in the Tagger, it was untagged instead of
  842.   being noted.  Fixed.
  843.  
  844. ■ The way capture "stamping" occurs has been changed (meaning the line
  845.   you see in the .CAP files reporting date/time of connections).  I
  846.   moved the stamping routines to another location, outside of the usual
  847.   "open capture file" routines.  This means that unless Icom opens the
  848.   capture file itself ("Open Capture on Connect" main setup option), the
  849.   line will not be written to the capture file.  This change was made to
  850.   avoid double-stamps in the capture file, and is mainly of note to
  851.   script writers who used the CAPTURE command.  CAPTURE, when called
  852.   from a script (or via [Alt-L] from Terminal Mode) will no longer stamp
  853.   the line in the capture file when called.  Previously if you (or Icom)
  854.   simply closed and opened the capture file, you'd end up with a new
  855.   capture stamp each time.
  856.  
  857. ■ The "Search" option in the online help wasn't searching SCRIPT.HLP
  858.   (script information) or ADDON.HLP (add-ons, Multitasking Intellicomm)
  859.   correctly.  For example, if you searched on the string "OS/2", none of
  860.   the help topics discussing OS/2 were searched in ADDON.HLP.  Now
  861.   fixed.
  862.  
  863. ■ Job items 'Change BBS/File Areas' and 'Get new files list' were not
  864.   working properly together and v2.00 would re-join the default file
  865.   conference (as specified in the BIF) prior to each new files scan. 
  866.   Now the default conference is only joined if a 'Change BBS/File Areas'
  867.   task is not used prior to the new files scan.
  868.  
  869. ■ HS/Link mail transfers are now working (HS/Link is a popular bi-
  870.   directional external protocol available as shareware on many BBS's). 
  871.   Previously Icom passed the mail packet filename to HS/Link instead of
  872.   the REPLY packet filename, which resulted in replies not being sent
  873.   bi-directionally while the mail was downloaded.
  874.  
  875. ■ HS/Link auto downloads are now more reliable.  Previously Intellicomm
  876.   watched for only two characters of the HS/Link auto-download sequence. 
  877.   It now watches for four characters (as outlined in the HS/Link
  878.   documentation), reducing the possibility of random garbage after
  879.   aborted file transfers to start (or re-start) an HS/Link download.
  880.  
  881. ■ The script DIAL command was not working in any circumstance other than
  882.   DIAL "".  It now works as advertised (see SCRIPT.DOC).
  883.  
  884. ■ The script WAITFOR command was not jumping to the timeout label if the
  885.   waitfor string was not found in the specified timeout period.  Fixed.
  886.  
  887. ■ The script GOTO/GOSUB *label ('label' being a variable holding a label
  888.   name) syntax was not working.  Fixed.
  889.  
  890. ■ Various other script problems were also fixed.  Drop me a note if you
  891.   find any more problems.
  892.  
  893. ADDED [2.00 TO 2.01]
  894.  
  895. ■ "Release Time Slices?" main setup option on the General Settings
  896.   screen allows you to control whether Intellicomm releases time slices
  897.   to DESQview, OS/2 or Windows while online (Icom always releases time
  898.   slices while idle, if offline).  Releasing time slices means that when
  899.   no COM port input/output, keystrokes, or mouse clicks are pending,
  900.   Icom will release the remainder of its time slice back to the
  901.   operating system, allowing smoother performance of other 'open'
  902.   applications.  Basically it means that Icom won't hog your system as
  903.   most DOS applications do... when it doesn't HAVE to hog the system to
  904.   process hundreds of events such as COM port interrupts.  However, if
  905.   you experience missing characters in the terminal while online, and/or
  906.   excessive file transfer errors, you might want to shut this option
  907.   off.
  908.  
  909.   Scripts can also control the Release Time Slices setting by accessing
  910.   the main setup tag '*rslice'.  On/off, as with all flag-type variables
  911.   is signified by zero (off) or non-zero (on).  Example:
  912.  
  913.   assign *rslice 0   ;do not release time slices online
  914.   assign *rslice 1   ;release time slices online
  915.  
  916. ■ NEW TAGGER ENHANCEMENTS:  "Stubborn" tags have been introduced, as
  917.   well as file transfer priorities, and smarter Noted file sorting:
  918.  
  919.   You can now set "Stubborn" tags via Tagger Edit mode (hilight the file
  920.   in browse mode and pick "Edit").  Stubborn tags remain tagged until
  921.   the file is successfully downloaded.  I.e. if the BBS reports "File
  922.   not found" Icom keeps it tagged and tries again next time, until the
  923.   file is successfully downloaded or manually untagged.  You could also
  924.   set a "Transfer Day" (again in Tagger Edit mode) with the Stubborn Tag
  925.   so that Icom would only try for the file on Fridays, etc., if you
  926.   desire.  This will be handy when you see something interesting being
  927.   discussed, and you have the filename... but you don't know if the file
  928.   exists on the BBS you call yet.  Just "Add" the filename to your
  929.   catalog manually, set a Stubborn Tag, and Icom will repeatedly attempt
  930.   to download the file until it shows up at your BBS and is successfully
  931.   downloaded.
  932.  
  933.   File Transfer Priorities (shown in Edit mode as either "U/L Priority"
  934.   or "D/L Priority" depending on the catalog you're viewing) allow you
  935.   to tell Icom how to transfer files, by entering an optional priority
  936.   number from 1-200 (1 being top priority), either in Edit mode or by
  937.   selecting "Priority" from the browse mode bottom menu.  The default
  938.   priority for every file in your catalogs is 100 (this is done during
  939.   the conversion mentioned above)... which puts every Tagged file
  940.   'equal' right in the middle of the priority scheme.  So if you saw one
  941.   or two files you wanted to transfer immediately, all you'd have to do
  942.   is set the priorities on those files BELOW the 100 default (priority
  943.   10, priority 20, etc).  If you saw one or two huge files you DIDN'T
  944.   want to download until later, all you'd have to do is set priorities
  945.   ABOVE 100 (110, 120, etc) to sort them after the default of 100. 
  946.   Files can also have the same priority, so you needn't use priority 10,
  947.   20, etc., unless you really want to have complete control over every
  948.   file that Icom transfers.  If you like, just set the files you want
  949.   immediately to priority 1, the files you don't really care about to
  950.   priority 200 and you're done.  Again, the priorities are optional. 
  951.   You don't have to set priorities for any files if you don't want to... 
  952.   If you don't, Icom will just download them sorted by filename as
  953.   usual.  For a full explanation of this new feature, along with several
  954.   tips and examples, select "Priority" in the File Tagger (on a Noted or
  955.   Tagged file), then press [F1] and read the online help.
  956.  
  957.   Smarter Noted File Sorting: The ability to set sorting priorities for
  958.   individual records also allowed an enhancement to the way Noted files
  959.   are sorted.  If you Note a file manually, its priority (only of use
  960.   when using the Tag Status/Location index which takes the priorities
  961.   into account) remains set at 100.  If a file is noted automatically by
  962.   Icom due to a match in the "Note Keywords" list on imports, priority 1
  963.   is set for the 1st keyword on the list, 2 for the second, etc.  So,
  964.   for example, if "Windows" was the first keyword on your Noted Keywords
  965.   list, all the files containing the word Windows in the file
  966.   description would be sorted to the top of the catalog (if you use the
  967.   Tag Status/Location sort order), all grouped together... then the
  968.   priority 2 Noted files, etc.  Modify your Noted Keywords list if
  969.   necessary, moving the most interesting keywords to towards the TOP of
  970.   the list, to take advantage of this new feature.
  971.  
  972. ■ The "Column 2" menu item in the File Tagger has been moved to the
  973.   Tagger's Tools menu to make room for the new "Priority" item discussed
  974.   above.  Further, "Tagger Column 2" has been removed from the main
  975.   setup program / File Tagger Settings screen.  Tagger now saves the
  976.   Column 2 status right in the catalog header, when the catalog is
  977.   closed.  Thus, you can now set different Column 2's for each catalog. 
  978.   Note that the very first time you access your Catalogs with v2.01, you
  979.   may have to select Tools/Contents of Column 2 to set it the way you
  980.   prefer, since this value is no longer read from or saved to ICOM.INI.
  981.  
  982. ■ You no longer must pick "Select" from the Tagger after selecting BBS's
  983.   to upload to (FILELIST catalog).
  984.  
  985. ■ An "Untag" item has been added to the menu of BBS's displayed when you
  986.   tag a file for uploading in the Tagger.  Thus to completely untag a
  987.   file in the FILELIST catalog, hilight it and press 'T' (Tag), then 'U'
  988.   (Untag) and 'S' (Select) or eXit/Esc.
  989.  
  990. ■ Seven more speeds have been added to the Minimum Connect Speed menu:
  991.   7200, 12000, 14400, 16800, 21600, 24400, and 28800.
  992.  
  993. ■ When a connection is made at a lower speed than the Minimum Connect
  994.   Speed you've defined (either in the main setup or the BIF) Icom now
  995.   displays a menu allowing you to immediately select "Remain Connected"
  996.   or "Hang up Now".  This allows you to hang up without waiting 10
  997.   seconds.  If you select neither, v2.01 defaults to hanging up after 10
  998.   seconds, as with v2.00.
  999.  
  1000. ■ You can now run a script to initialize your modem, by specifying
  1001.   @SCRIPTNAME as the initialization string in the Icom main setup
  1002.   (Terminal Settings screen).
  1003.  
  1004. ■ Tagged files that are untagged due to an unsuccessful file transfer
  1005.   (file not found, etc) are no longer deleted.  Files are only deleted
  1006.   from download catalogs once the transfer is successful.
  1007.  
  1008. The rest, up to the beta 3 notes just below, regards scripts.  Skip it
  1009. if you haven't delved into scripts yet.
  1010.  
  1011. ■ New script System Variables $CPRIORITY_FLD and $CFLAG_FLD (Tagger
  1012.   catalog fields similar to $CTAG_FLD) have been added.  $CPRIORITY_FLD
  1013.   allows you to check or set the transfer priority of the current file. 
  1014.   Example:
  1015.   
  1016.   cgetrec
  1017.   assign $CPRIORITY_FLD 10   ;set to priority 10 (100 is the default)
  1018.   cputrec                    
  1019.  
  1020.   This will only work on either Tagged or Noted files.  Check $CTAG_FLD
  1021.   to see whether a file is 'T'agged or 'N'oted.  When using the Tag
  1022.   Status/Location sort order (see CSETSORT in SCRTUTOR.DOC), files are
  1023.   now sorted by Tag Status, Location, Download Priority (a number from
  1024.   1-200, 1 being top priority), file Conference, Filename.  I.e. all
  1025.   Tagged files for a given BBS are grouped together, with the highest
  1026.   priority file first, the next-highest second, etc.  By simply using
  1027.   the Tag Status/Location index and using CGETREC, you'll get all the
  1028.   Tagged files in the proper order, according to the priorities the user
  1029.   has set.
  1030.  
  1031.   $CFLAG_FLD is a general purpose flag in EACH catalog RECORD, that you
  1032.   can use as you see fit.  The real length of the 'FLAGS' field (a new
  1033.   database field introduced in v2.01) is 5 bytes; you have access to one
  1034.   of these bytes from scripts for anything you want.  Icom uses the
  1035.   FLAGS field (a portion of it that cannot be accessed from scripts) to
  1036.   keep track of file transfer results, and Stubborn Tags.  Each time a
  1037.   filename is sent to the BBS during automated transfers, Icom
  1038.   increments a counter stored in the FLAGS field.  If the counter goes
  1039.   past 3, Icom cancels the transfer (keeping the file tagged), which
  1040.   eliminates any possibility that the same filename will be entered over
  1041.   and over again forever due to bad BIF setup, errors, etc.  When 'File
  1042.   not Found', 'No time', 'No bytes', 'Transfer Successful', etc. are
  1043.   received from the BBS, Icom makes another note in the flags field,
  1044.   storing 'C' to cancel the transfer (Untag the file), 'S' for a
  1045.   successful transfer, etc.
  1046.  
  1047.   If you write a script to perform auto downloads, you can put
  1048.   $CFLAG_FLD to the same use.  Icom never touches or checks the contents
  1049.   of $CFLAG_FLD (the portion that scripts have access to) so you can use
  1050.   it as you see fit to keep track of anything that your scripts need to
  1051.   keep track of.  The field is set to a blank space (" ") by default,
  1052.   and it's good practice to set it back that way when your script is
  1053.   done with it.  Example:
  1054.  
  1055.   cgetrec 5
  1056.   assign $CFLAG_FLD "A"  ;"A" would signify some condition to you...
  1057.                          ; maybe that you'd already tried to download
  1058.                          ; the file, or that the record should be
  1059.                          ; deleted or untagged, etc.
  1060.   cputrec
  1061.  
  1062.   Later, to check the flag:
  1063.  
  1064.   cgetrec 5
  1065.   if $CFLAG_FLD = "A" return  ;skip something if flag is set
  1066.  
  1067.   And when your script ends:
  1068.  
  1069.   cgetrec 5
  1070.   assign $CFLAG_FLD " "  ;clear the flag
  1071.   cputrec
  1072.   
  1073. ■ New script System Variable $OPSYSTYPE (a numeric read-only variable)
  1074.   allows you to determine which operating system your script is running
  1075.   under:  0 = DOS, 1 = Windows, 2 = OS/2, 3 = DESQview.  Example:
  1076.  
  1077.   switch $OPSYSTYPE
  1078.    case 0
  1079.     print "DOS detected."
  1080.    endcase
  1081.    case 1
  1082.     print "Windows v3.x detected."
  1083.    endcase
  1084.    case 2
  1085.     print "OS/2 v2.x detected."
  1086.    endcase
  1087.    case 3
  1088.     print "DESQview detected."
  1089.    endcase
  1090.   endswitch
  1091.  
  1092.   Windows versions lower than v3.00 and OS/2 versions lower than v2.0
  1093.   are ignored and will be reported as DOS (0).
  1094.  
  1095. 2.00 Beta 3 Notes, 09-22-93
  1096. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1097. ■ IMPORTANT: This should probably go in the "ADDED" section, but it's
  1098.   important and I don't want anyone to miss it.  Icom v2 has become both
  1099.   Windows and OS/2 aware starting with beta 3 (it was already DESQview
  1100.   aware, since v1.00) and it will give its time slice back to either
  1101.   DESQview, Windows v3 or OS/2 v2 when nothing is going on (no
  1102.   keystrokes, mouse clicks or COM port activity).  The goal is to make
  1103.   Icom run smoother in the background, while you're doing something else
  1104.   in the foreground, and with what testing I was able to do I'd swear
  1105.   there was a noticeable improvement; but I'm not a big Windows user,
  1106.   and am very short in time right now, so I wasn't able to do any
  1107.   'definitive' testing before releasing beta 3.  And I don't have OS/2
  1108.   period.... nor a high-speed modem, so whether this will end up causing
  1109.   Bad CRC's or other errors at high speed, I don't know.  If it does,
  1110.   I'll have to remove this new "awareness", since v2's release must be
  1111.   made as soon as possible.
  1112.  
  1113.   Please let me know how you make out with this; whether you notice an
  1114.   improvement while Icom is running in the background and/or whether you
  1115.   experience transfer errors, etc... or whether you notice no change at
  1116.   all.  <grin>
  1117.  
  1118. DONATIONS
  1119.  
  1120. Thanks to all who sent a donation/voluntary upgrade in support of
  1121. Intellicomm v2.0!  You got me out of a very serious financial bind last
  1122. week, and Intellicomm v2 would (at best) have been delayed for a month
  1123. or more without your help, or (at worst) could have been history.  If
  1124. you made a donation or have purchased Intellicomm v2 recently, thanks
  1125. again!  You're a wonderful group of people.
  1126.  
  1127. FIXED FROM BETA 2
  1128.  
  1129. ■ Running into hangs with Icom v2 either during or AFTER running
  1130.   ICOM.EXE?  Please remove SMARTDRV (Microsoft's disk cache) from your
  1131.   CONFIG.SYS or AUTOEXEC.BAT and see what happens.  Several people
  1132.   solved some very strange problems by dropping SMARTDRV and switching
  1133.   to HyperDisk (a better/faster Shareware disk cache, available on most
  1134.   BBS's), or basically using any disk cache OTHER than Microsoft
  1135.   SMARTDRV.  I intend to find the conflict of interest between Icom v2
  1136.   and SMARTDRV, but in the interim please use another disk cache.
  1137.  
  1138. ■ The new Minimum Connect Speed feature connected to each BIF (see beta
  1139.   2 notes below) would hang your machine (or do even stranger things, eh
  1140.   Eric?  <grin>) if you set it TWICE before exiting the BIF Editor. 
  1141.   Actually it could have hung under different circumstances as well, but
  1142.   the root problem is now fixed.
  1143.  
  1144. ■ Not only that, but the Minimum Connect Speed wasn't working in beta 2! 
  1145.   It now works as it was supposed to.
  1146.  
  1147. ■ If the connection was lost during an automated download, Icom did call
  1148.   back, but didn't re-start the batch where it should have been started
  1149.   -- on the file that was being transferred when the connection was
  1150.   lost.  I'm not 100% positive that this is fixed under every possible
  1151.   circumstance, but everything worked with beta 3 on lost connections in
  1152.   the tests I ran.  If you do run into this again in the future, please
  1153.   let me know the circumstances surrounding the problem: a clip from the
  1154.   ICOM.CAP file posted in your bug report, showing the entire auto-
  1155.   download process (what did work as well as what didn't) will be
  1156.   necessary.
  1157.  
  1158. ■ I don't know if anyone ran into this, but it was possible for Icom to
  1159.   upload a file to a BBS even though there was no "Upload Pending:" for
  1160.   a given BIF ID.  The only time the problem occurred is if a file had
  1161.   already been uploaded somewhere (i.e. an "Uploaded to: ANYBIFID"
  1162.   existed), and was subsequently Tagged again for upload to another BBS. 
  1163.   In such a case, the file was uploaded to any/all BBS's that had an
  1164.   "Upload tagged files" task.
  1165.  
  1166. ■ Whether a previous bug or a "new feature": The status line is now
  1167.   automatically turned OFF when you activate doorway mode with [Alt-=]. 
  1168.   The real DOORWAY program doesn't use a status line, and thus some
  1169.   doors that do support doorway mode assume that they have the entire 25
  1170.   lines of the terminal screen to work with.  The status line is
  1171.   automatically turned back ON (if it was on previously) when doorway
  1172.   mode is toggled off with [Alt-=].
  1173.  
  1174. ■ Before calling POSTFILE.SCR / POSTFILE.BAT, Icom writes each newly
  1175.   downloaded file's description to \ICOM\FILE_ID.DIZ, to allow access to
  1176.   the file description from POSTFILE.BAT and to allow you (via
  1177.   POSTFILE.SCR or POSTFILE.BAT) to add a FILE_ID.DIZ to archives that
  1178.   don't have one included.  However the file description was not re-
  1179.   formatted properly before writing to FILE_ID.DIZ.  The description is
  1180.   now re-formatted to 40 characters per line maximum.
  1181.  
  1182. ■ Tagger's "Untag" option is finally working, for both Tagged and/or
  1183.   Noted files.  I documented a "fix" in beta 2, but as it turned out it
  1184.   wasn't fixed at all.  
  1185.  
  1186. ■ The right mouse button was supposed to Note files in the Tagger, if
  1187.   you right-clicked on a file in the upper browse mode window.  And a
  1188.   right-click did actually Note the file, but it didn't DISPLAY the "»"
  1189.   Noted status.
  1190.  
  1191. ■ The new "UART:" stat on the [Alt-P] menu wasn't displayed on the same
  1192.   screen line as the actual UART type.
  1193.  
  1194. ■ If you viewed a file in the File Viewer, then used the online help in
  1195.   the File Viewer, the data buffer was not reset properly after exiting
  1196.   the online help and returning to the File Viewer ([Down] arrow would
  1197.   produce part of the online help, and not the document you were
  1198.   viewing).  Fixed.
  1199.  
  1200. ■ Activating the Ruler (Alt-R) in the File Viewer for the FIRST time,
  1201.   worked only every other time.
  1202.  
  1203. ■ If you've been having problems with OS/2's comm. driver getting
  1204.   "stuck" (the terminal just dying on long text displays, such as NEWS
  1205.   NS, etc), I think the problem has finally been fixed.  Previously if
  1206.   Icom couldn't clear an "interrupt pending" condition on the UART (the
  1207.   COM port chip) after 1,000 tries, it would give up assuming the UART
  1208.   was broken, and disable interrupt-driven communications: and this is
  1209.   why the terminal just died; Icom was no longer processing UART
  1210.   interrupts.  For some reason, OS/2's comm. driver (as well as Ray
  1211.   Gwinn's comm. driver) doesn't behave quite the same as a real UART
  1212.   does, when it comes to clearing interrupts that have already been
  1213.   handled.  But regardless I've removed this "broken UART check"
  1214.   entirely and the "Stuck" condition should not occur again.  It means
  1215.   that if your UART truly IS broken that Icom will hang, but so would
  1216.   most other comm. programs on the market... so it's not a big deal.
  1217.  
  1218.   Further, Graham Elliott did some extensive testing under OS/2 with
  1219.   beta 2, and came up with the following (settings not mentioned below
  1220.   should be set to their DEFAULT value):
  1221.   --
  1222.   DOS Settings which differ from the default:
  1223.  
  1224.      DOS_FILES         40
  1225.      DOS_HIGH          On
  1226.      HW_ROM_TO_RAM     On
  1227.      HW_TIMER          On
  1228.      IDLE_SENSITIVITY  100
  1229.  
  1230.   Now, the critical communication settings appear to be the following...
  1231.  
  1232.   For Gwinn's SIO/VSIO drivers:
  1233.  
  1234.      SIO_Virtualize_16550_A     On
  1235.      SIO_Virtualize_COM_Ports   On
  1236.      SIO_Virtual_RTS_is_HS      Off
  1237.  
  1238.      Enable 16550 if Found?  .  Yes
  1239.  
  1240.   For IBM's COM drivers:
  1241.  
  1242.      COM_DIRECT_ACCESS          Off
  1243.  
  1244.      Enable 16550 if Found?  .  No
  1245.  
  1246.   The "Enable 16550" is in the "Terminal Settings" screen of ICOM's own
  1247.   main Setup Menu.
  1248.   --
  1249.   Using the above settings, Graham was able to use Intellicomm
  1250.   successfully at high speed in both OS/2 windowed and full screen
  1251.   sessions, with no dropped characters and no "Stuck" terminal
  1252.   condition, with both IBM's COM driver and Ray Gwinn's SIO driver. 
  1253.   Please give these settings a try and let us know how you make out.
  1254.  
  1255. ADDED [BETA 2 TO BETA 3]
  1256.  
  1257. ■ $10.  To Intellicomm's price.  Quite a number of people, since the
  1258.   release of beta 1, have expressed the feeling that Icom v2.00 is
  1259.   underpriced.  And being one who likes to "know the competition" I did
  1260.   know it was underpriced.  It was underpriced intentionally to
  1261.   discourage the existing competition, to discourage future competition,
  1262.   and to give no one (in the BBS market at any rate) a single excuse to
  1263.   buy another product.  But even with the $10 increase, I think I can
  1264.   still accomplish these goals.  At $39.95, Icom has only one competitor
  1265.   with a lower price, and it's only $5 less.  Paying $5 more for
  1266.   Intellicomm, given the feature sets of the two programs, is still
  1267.   quite a steal.  And hopefully the extra revenue will allow me, after
  1268.   I'm "back in black" again (out of debt), to buy the tools I need for
  1269.   future development (the Windows and OS/2 versions) ... and maybe even
  1270.   a modem that runs faster than 2400 baud for the upcoming Icom Support
  1271.   BBS.  <grin>  Feedback on the new price is welcome.
  1272.  
  1273. ■ Three new BIF slots have been added, all on the "Logon" screen:
  1274.  
  1275.   1. "Press [Escape]" for BBS's with front ends requiring [Esc] to be
  1276.      pressed after connecting.
  1277.   2. "Enter Birth Date" for those top-security BBS's that feel compelled
  1278.      to confirm your birth date from time to time, to make sure you're
  1279.      not an IMPOSTER using someone else's account to steal valuable
  1280.      national secrets (Sysops get entirely too impressed with their
  1281.      BBS's sometimes, don't they?).
  1282.   3. "Enter Phone Number" again for the top-security BBS's that confirm
  1283.      you really ARE who you claim to be, and not a spy, and ask for your
  1284.      voice phone number from time to time, to keep you on your toes.
  1285.  
  1286.   Given these new prompts and the 2 new "External Extra" prompts (see
  1287.   below) for the first time ever Icom actually has SPARE slots available
  1288.   for Wildcat BBS's!  [I await Mustang's next release of Wildcat, which
  1289.   will undoubtedly force me to use the empty slots, and probably add
  1290.   support for 10 more equally ridiculous prompts... <grin>]
  1291.  
  1292. ■ All the BIF templates have been updated to support the three new
  1293.   prompts mentioned above, and the "spy-prevention questions" have been
  1294.   moved from the Extras screen to the new Logon screen slots.  I logged
  1295.   on to about 50 BBS's in Toronto to find the most-used "Press [Escape]"
  1296.   prompt, and included the winner in all the BIF templates.  But, as
  1297.   usual, the front end developers (those responsible for the "Press
  1298.   [Escape]" prompt) couldn't see fit to include ANY useable text that
  1299.   was common from one type to the next, and we had:
  1300.  
  1301.   Press Escape twice for BBS.
  1302.   Press [Esc] Twice or wait for BBS.
  1303.   Press <Escape> to enter BBS.
  1304.   Please press <ESC> to enter BBS
  1305.   Please press your Escape key to call Maximus, or wait a few moments.
  1306.   Press the ESC key twice to access the BBS.
  1307.  
  1308.   Unbelievable, isn't it?  The only common text is "press", and I
  1309.   certainly can't use that or Icom would send [Esc] every time the word
  1310.   "press" was mentioned in the logon news (and I can't track the prompt
  1311.   once and stop watching for it, since some front ends, along with their
  1312.   developers, are brain damaged and don't respond the 1st time).
  1313.  
  1314.   If I didn't know better (and I don't) I'd swear these guys, and I use
  1315.   the term loosely, were intentionally trying to cause you hassles,
  1316.   forcing you (and Telix users, and Qmodem users, and anyone else who
  1317.   tries to automate logons) to plug different prompts into all your BIFs
  1318.   and scripts...  And you know what?  None of these prompts are even
  1319.   necessary, nor is the [Esc] key to "identify" you as a human caller. 
  1320.   The prompts are for front-end mailers (a calling program, to transfer
  1321.   network mail), and front-end mail handlers send SPECIAL codes to the
  1322.   front-end (the thing that asks you to press [Esc]) to let it know it's
  1323.   NOT a human caller -- and if they don't send special codes to identify
  1324.   themselves as non-human callers, they bloody well should.  If the
  1325.   special codes aren't found, identifying the caller as an automated
  1326.   network mail transfer program, the BBS *should* be loaded immediately,
  1327.   with no prompts and no [Esc] keys, assuming a human (or Icom, or
  1328.   anything BUT a network mail transfer program) is calling.  Is that not
  1329.   how anyone with half a brain would design this, to avoid making all
  1330.   the HUMAN callers send special codes?  [Oops, must be time for a
  1331.   sedative again.  <grin>  BBS Developers... I love 'em all.]
  1332.  
  1333.   NOTE: This doesn't mean you *must* use the new prompt slot to handle
  1334.   these BBS front ends: a better solution is (and always has been) to
  1335.   simply plug this into the BIF "Connect Command" on BIF screen 1:
  1336.  
  1337.   ║ Dial Prefix  . . 1                Connect Command  ~~~^[~^[        ║
  1338.  
  1339.   ...since this Connect Command is sent immediately after connecting,
  1340.   without looking for any idiotic prompts telling you to press [Esc] in
  1341.   a hundred different ways.  [The sedative hasn't kicked in yet... gimme
  1342.   a minute.  <grin>]  I added the new "Press [Escape]" slot mainly for
  1343.   the Icom users who don't read the manual/online help (90% of users, so
  1344.   don't feel bad if you're one of them.  Then again, if you're one of
  1345.   them, you're not reading this right now either, so ignore that remark 
  1346.   <grin>).
  1347.  
  1348. ■ Added the ability to manually purge ALL *untagged* files from a given
  1349.   catalog (Noted files are always purged according to the main setup
  1350.   "Purge Noted # Days Old" item; if set to 0, Noted files are never
  1351.   purged).  Previously records had to be at least 1 day old before you
  1352.   could purge them manually.  Now, when you select Tools/Purge from the
  1353.   Tagger, you can enter "0" (0 days old) and kill all the untagged
  1354.   files.  This new feature may be useful to those who make MULTIPLE new
  1355.   files list runs per day: you can read one list, purge all the records
  1356.   you've read (they're simply marked as Deleted; but they stay in the
  1357.   catalog to eliminate duplicates on the next import), then import
  1358.   another list.  Only the files NOT marked as Deleted are the new ones. 
  1359.   NOTE: You may want to adjust the main setup "Auto Pack when # Purged"
  1360.   item on the File Tagger Settings screen up to 1000 records or so
  1361.   (maybe even 5000), to avoid an auto-pack after each import.  In fact,
  1362.   you may want to set Auto Pack when # Purged to 0 (zero; don't auto-
  1363.   pack at all) and simply perform your packs manually, when the time is
  1364.   right.
  1365.  
  1366. ■ Tagger online help, BIF online help, and various other online help
  1367.   topics are now complete (still more to go though, so it's not a bug if
  1368.   you get a "Help Link not found" error when trying to select a link).
  1369.  
  1370. ■ Added protocol debugging to ICOM.DBG which shows the filenames
  1371.   received, and any status/error messages displayed by the protocol
  1372.   (internal protocols only).  This will mainly be of use for my tech.
  1373.   support though.
  1374.  
  1375. ■ SCRIPT STUFFS: Two new commands have been added.  SETCHR and SETCHRS. 
  1376.   Unless you're already into the v2 script language you won't understand
  1377.   this, but the summaries for the commands are:
  1378.   
  1379.    SETCHR vTARGET sSOURCE nPOSITION
  1380.    SETCHRS vTARGET sSOURCE nPOSITION nMAXCHARS
  1381.  
  1382.   Where vTARGET is a variable (containing a string presumably) you wish
  1383.   to modify, sSOURCE is the character(s) you want to place in vTARGET,
  1384.   nPOSITION is the position in vTARGET to put sSOURCE (0 = the 1st
  1385.   character in vTARGET), and nMAXCHARS is the maximum number of
  1386.   characters to copy from sSOURCE into vTARGET.  Examples:
  1387.  
  1388.    variable s "Print this."
  1389.    SETCHR s "!" 10   ;replaces the period with an exclamation mark
  1390.    print s           ;displays 'Print this!'
  1391.  
  1392.    SETCHRS s "that" 6 4
  1393.    print s           ;displays 'Print that!'
  1394.  
  1395.   Note that ^@ (NULL; ASCII 0) "terminates" all string variables in the
  1396.   script language, so if you continued the above script with this:
  1397.  
  1398.    SETCHR s "^@" 5
  1399.    print s           ;displays 'Print'
  1400.  
  1401.   it would terminate the string at position 5, by storing a NULL after
  1402.   the 't' in Print.
  1403.  
  1404. ■ MORE SCRIPT STUFFS: You can now use variables in GOTO and GOSUB, but
  1405.   if you do, you must precede the variable name with an asterisk. 
  1406.   Examples:
  1407.  
  1408.   variable somelabel "a label name"
  1409.  
  1410.   goto somelabel   ;looks for/jumps to a label called 'somelabel:'
  1411.   goto *somelabel  ;looks for/jumps to a label called 'a_label_name:'
  1412.  
  1413.   The first, without an asterisk, causes the script interpreter to take
  1414.   the label name literally and look for a label called 'somelabel'...
  1415.   and this (as usual) allows you to use the same names for both
  1416.   variables AND labels in the same script.  The second, with an
  1417.   asterisk, tells the script interpreter to access the CONTENTS of the
  1418.   variable 'somelabel', and jump to whatever label name the contents of
  1419.   the variable happens to be holding.  Note that this would also be
  1420.   quite valid:
  1421.  
  1422.   ;SCRIPT1.SCR
  1423.   assign GlobalStr[9] "a_label_name"
  1424.   script "SCRIPT2.SCR"    ;call another script
  1425.  
  1426.   ;SCRIPT2.SCR
  1427.   gosub *GlobalStr[9]     ;'gosub a_label_name' is what happens
  1428.  
  1429.   What you do with this new ability lies in your imagination.
  1430.  
  1431. Beta 2 Notes, 09-03-93
  1432. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1433.  
  1434. STILL UP IN THE AIR DEPARTMENT
  1435.  
  1436. ■ Online help and SCRIPT.DOC are still incomplete (I knew I should have
  1437.   finished them before v2 went into beta... <grin>).  Haven't touched
  1438.   the BIF templates since beta 1 either.
  1439.  
  1440. ■ Some "Key not found" errors were being displayed by the File Tagger
  1441.   under various circumstances.  I found the bug that was causing the
  1442.   error message, but I'm not positive as yet whether the root of the
  1443.   problem was located.  If you run into more problems with the Tagger,
  1444.   please re-report with as many details as you can remember as to what
  1445.   you did BEFORE the error occurred.
  1446.  
  1447. FIXED FROM BETA 1
  1448.  
  1449. ■ Beta 1 had various installation problems, due to the fact that the
  1450.   install routines in ICOM.EXE.  I've moved the installation routines
  1451.   into a separate INSTALL.EXE for beta 2, and have tested it on a couple
  1452.   of different machines, and it seems to now be working fine.  I
  1453.   included *all* the files again for beta 2 though, mainly to re-test
  1454.   the installation process.
  1455.  
  1456. ■ POSTFILE.SCR (a new script included with Icom v2, to virus check and
  1457.   otherwise handle newly downloaded files) was not working quite as it
  1458.   was supposed to.  The instructions weren't as clear as they could have
  1459.   been, and there was a bug in the script itself which all but prevented
  1460.   you from doing what you were supposed to do as far as the initial
  1461.   setup goes.
  1462.  
  1463.   If you would, please give POSTFILE.SCR another shot.  Whether you want
  1464.   to use POSTFILE.SCR or not, you should at least know what it's capable
  1465.   of doing for you (it can make your file handling a lot easier on new
  1466.   downloads, not to mention the auto virus checks, and the script can be
  1467.   easily modified to handle all sorts of other things).  It's designed
  1468.   so that it'll automatically TELL you what it can do for you, until you
  1469.   decide whether you want to use it or not.  The endless loop should not
  1470.   be a problem with this POSTFILE.SCR.
  1471.  
  1472. ■ If you noticed "missing" ICOM.CAP files, and/or lost chains reported
  1473.   by CHKDSK with beta 1 (or even lockups, exception 13's or sharing
  1474.   violations on Capture File Maintenance), the problem has been fixed. 
  1475.   If ICOM.CAP was open when the capture file maintenance was performed,
  1476.   it was inadvertently LEFT open during the maintenance.  It's a no-no
  1477.   to rename an open file.
  1478.  
  1479. ■ File times were off by four hours on Y/Zmodem downloads.
  1480.  
  1481. ■ Beta 1 didn't re-initialize the port before dialing or entering
  1482.   terminal mode.  If you run a multitasker and keep Icom in memory all
  1483.   the time (that's not a good idea by the way, particularly during beta
  1484.   testing), and if you ran another comm./FAX program with Icom still in
  1485.   memory, beta 1 wouldn't communicate with the port properly the next
  1486.   time you used it.  It now re-initializes the port every time it dials
  1487.   or enters terminal mode (re-initialize meaning it sets the port for
  1488.   interrupt-driven communications, and re-vectors the port interrupts to
  1489.   use Icom's interrupt handler).
  1490.  
  1491. ■ If you had problems with your Tagger catalogs with beta 1, please
  1492.   restore your original v1 catalogs from the backup you made before you
  1493.   installed v2 (I told you you'd regret it if you didn't make a backup),
  1494.   and try again with beta 2.  There was a major bug in beta 1, capable
  1495.   of rendering catalogs unreadable.
  1496.  
  1497. ■ Tagger's "Untag" option left one file noted if you used Untag/Noted. 
  1498.   Several problems 'could' have popped up with the Untag item other than
  1499.   just leaving one file noted... but if you ran into others, they're
  1500.   probably fixed now as well.  The way beta 1's Untag was working was
  1501.   totally off-base, and it's amazing that anything was untagged at all.
  1502.  
  1503. ■ Tagger Tools, "Export to Text File" would write garbage all over your
  1504.   screen, then lock up the machine.  Fixed.
  1505.  
  1506. ■ Tagger Tools, "Tagged File Stats" would hang if no files were tagged
  1507.   when it was selected.  Feel free to use it at will now (though if you
  1508.   use it with no files tagged all you'll get is a report stating that
  1509.   nothing is tagged... It's meant to be used only when you DO have files
  1510.   tagged and want to know the total bytes D/L time for each BBS).
  1511.  
  1512. ■ TAGGER.EXE and SETUP.EXE are now properly deleted when v2 is
  1513.   installed.  If you haven't already, DELETE these files and don't use
  1514.   them again.  ICOM.EXE has them both built in, and the separate .EXE's
  1515.   are now obsolete and could destroy your v2 data.  To simulate
  1516.   TAGGER.EXE, use:
  1517.  
  1518.    ICOM.EXE /CAT:CATNAME /Area:Tagger
  1519.  
  1520. ■ On installation, "Testing Flow Control" would hang if the CTS line was
  1521.   off on the specified COM port.
  1522.  
  1523. ■ Moving the mouse up/down (forward/backward ... north to south? 
  1524.   pushing/pulling?, moving towards the front or back of your desk ...? 
  1525.   I simply don't know how to explain it so I hope you get what I mean
  1526.   <grin>) no longer causes various input fields (exiting main setup,
  1527.   etc) to cancel.
  1528.  
  1529. ■ The mouse now remembers to stay off if you shut it off in the main
  1530.   setup.
  1531.  
  1532. ADDED [BETA 1 TO BETA 2]
  1533.  
  1534. ■ Something I've been meaning to add for a long time has been
  1535.   implemented, though not in a huge way yet: a debugging log. 
  1536.   \ICOM\CAP\ICOM.DBG (\ICOM\CAP\ being the usual path you use in your
  1537.   default Capture File) keeps track of every status/error message Icom
  1538.   sends (useful in reporting problems ... the exact wording of an error
  1539.   message is important), along with information about automated jobs
  1540.   (particularly why a given job task was auto-cancelled ... reply packet
  1541.   not found, etc), as well as Tagger import information, when a file is
  1542.   excluded from import for some reason (either due to the fact that it
  1543.   exists in DOWNLOAD.NDX, or is a duplicate and already exists in the
  1544.   catalog, or was excluded due to a user-defined Exclude Keyword).  Lots
  1545.   more can and will be done with this log in the future... let me know
  1546.   what other sorts of information you'd like to see included, and I'll
  1547.   put it on the "to do" list for the year 1995.  <grin>  (I'm rather
  1548.   buried in "to do" lists at the moment.)
  1549.  
  1550.   NOTE: ICOM.DBG is automatically renamed to ICOM01.DBG every time you
  1551.   start ICOM.EXE (after ICOM01.DBG is deleted if it exists).  The file
  1552.   should never grow very large, so long as you exit Intellicomm
  1553.   periodically ... which is a good idea in any case.  There's no way to
  1554.   shut the log off.  As more logging is introduced, a "verbose" level
  1555.   will be added, but you'll never be able to shut it off entirely.  It
  1556.   was implemented mainly to help with technical support, and it's
  1557.   mandatory that you keep the relevant ICOM.DBG file handy after running
  1558.   into a problem -- if you need tech. support.  It may also help you to
  1559.   narrow some problems down on your own, so make sure you take a peek at
  1560.   ICOM.DBG (use "Review Session Captures" from the Main Menu to view it)
  1561.   when something goes afoul.
  1562.  
  1563. ■ You can now use separate "Minimum Connect Speeds" for each BBS (to
  1564.   override the Minimum Connect Speed defined in the main setup, and
  1565.   allow a lower connect speed on a given BBS), through a new item
  1566.   attached to the "Port Settings" item in each BIF.  When you select
  1567.   Port Settings you'll be given a second option to set the minimum
  1568.   connect speed (set to 300 to allow connects at any speed).  If you set
  1569.   a minimum speed, it will show up just after the port settings like so: 
  1570.   "19200,N,8,1/9600" (the minimum speed follows the '/').  This minimum
  1571.   connect speed, if not set to 300, is compared to the CONNECT message
  1572.   your modem returns.  If you don't set up a minimum connect speed in
  1573.   the BIF, the main setup Minimum Connect Speed (Dialing screen) is
  1574.   used, as with v1.  Note that the actual PORT SETTINGS have not
  1575.   changed.  The port will be set to whatever speed/data bits/parity/stop
  1576.   bits you define in the BIF, as with v1.
  1577.  
  1578. ■ The Minimum Connect Speed item (main setup/Dialer Settings) has, since
  1579.   v1, been allowing re-dialing right up to the Max. Dial Attempts item
  1580.   defined in the BIF (forever if no Max. Dial Attempts was set).  During
  1581.   automated runs, it now untags the BIF after 3 unsuccessful connects,
  1582.   at a lower speed than the Minimum Connect Speed.  During manual
  1583.   dialing (Dial from the BBS Directory), the BIF remains tagged right up
  1584.   to the Max. Dial Attempts, as with previous versions.
  1585.  
  1586.   This is only relevant to those who use the Minimum Connect Speed
  1587.   feature: if you have the minimum speed set to 300 baud, Icom will
  1588.   allow connections at any speed.
  1589.  
  1590. ■ Some general information and debugging information has been added to
  1591.   the Port Settings menu ([Alt-P] from Terminal mode).  It shows the
  1592.   UART type detected (16550 or 8250), and the on/off state of the CTS,
  1593.   RTS, DSR, and DTR lines.  [Clear to Send, Request to Send, Data Set
  1594.   Ready, and Data Terminal Ready.]  If you notice anything "funny" with
  1595.   the terminal, such as characters you type aren't being sent, or
  1596.   nothing is displayed on the screen from the BBS, check this menu to
  1597.   see if one of the flow control flags is stuck.  [Particularly in OS/2,
  1598.   since we've had some problems with things being "stuck".]  If
  1599.   something is stuck, open the "Port" menu, hilight the port and press
  1600.   [Enter].  That should reset everything.  [Er, until you look at the
  1601.   menu when your port is operating properly, you mightn't have a clue
  1602.   what it should look like when everything is fine.  You might want to
  1603.   enter terminal mode and make a note for future use.]
  1604.  
  1605. ■ Added /CAT:CATNAME command line switch (where CATNAME is the name of a
  1606.   File Tagger Catalog), for use with the /Area:Tagger switch.  To view
  1607.   the FILELIST catalog without initializing your modem or entering Icom
  1608.   itself, use the command:
  1609.  
  1610.    ICOM /CAT:FILELIST /Area:Tagger
  1611.  
  1612. ■ Tagger Tools/"Export to Text File" now allows you to export All files
  1613.   in a catalog, only Tagged files, only Noted files, both Tagged and
  1614.   Noted, or just the Untagged files.  This applies to the script CEXPORT
  1615.   command as well.  The CEXPORT command has been revised to take a
  1616.   numeric parameter signifying the export type:
  1617.  
  1618.   CEXPORT [sBIFNAME] [sTEXTFILE] [nEXPORTTYPE] [nNODISPLAY]
  1619.  
  1620.   [See SCRIPT.DOC for a full explanation of CEXPORT.]  nEXPORTTYPE is an
  1621.   optional number from 1 to 5, which controls the TYPE of files that are
  1622.   exported:
  1623.  
  1624.    1 = All files (Noted, Tagged and Untagged).
  1625.    2 = Tagged files only.
  1626.    3 = Noted files only.
  1627.    4 = Tagged or Noted files only.
  1628.    5 = Untagged files only.
  1629.  
  1630.   If nEXPORTTYPE is omitted (or 0), the user is prompted for the type of
  1631.   files to export.
  1632.  
  1633. ■ Something I forgot to document in the beta 1 UPGRADE.DOC: "Find/Save
  1634.   Bookmark" has been added to the Tagger Tools menu.  You can use it to
  1635.   save and restore a given position in the catalog WITHOUT leaving the
  1636.   catalog.  Icom v1 had bookmarks, but it only saved it when you exited
  1637.   the catalog.  With Find/Save bookmark, you can save your position, go
  1638.   somewhere else to do something, then restore your original position
  1639.   without having to use "Find" and remember a filename.
  1640.  
  1641. ■ I also forgot to mention this in the beta 1 UPGRADE.DOC (no need to
  1642.   read that file again for beta 2 by the way, everything new is covered
  1643.   here), but you can now use script commands in BIF prompt responses,
  1644.   and in job Custom Commands, by preceding the command with '&'. 
  1645.   Example:
  1646.  
  1647.   ║ 12  Custom Command/Run script        │   CC: &WAITFOR "Some text" ║
  1648.  
  1649.   The most likely commands you'll use will be &WAITFOR, or perhaps
  1650.   &DOWNLOAD or &UPLOAD, etc.  Since Custom Commands can be grouped one
  1651.   after the other to handle multiple BBS commands/menus, you can pretty
  1652.   well build a workable script right in your jobs, with Custom Commands,
  1653.   instead of having to keep an external script on-disk.  BIF responses
  1654.   can also handle single script commands in the same manner, but I have
  1655.   yet to figure out what use this will be (it was simple to do since BIF
  1656.   responses use the same routine as Custom Commands do, so the BIF
  1657.   support was automatic.... maybe you can figure out a use for it in a
  1658.   BIF, perhaps in one of the "Extra" prompt slots).
  1659.  
  1660. ■ Tagger browse mode/bottom window now displays the description color in
  1661.   the Bold/Hotkey color by default.  In autobrowse mode, lines are
  1662.   changed to the Unselected/Background color.
  1663.  
  1664. Beta 1 Notes, 08-08-93
  1665. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1666. ■ Still incomplete: The online help is not fully complete yet, nor is
  1667.   SCRIPT.DOC.  I'll also be working on a few more BIF templates between
  1668.   now and the release if time permits.
  1669.  
  1670. BETA INFORMATION
  1671. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1672. Questions & Answers
  1673. Q. What is a "beta" release?
  1674. A. Beta releases are preliminary releases to be used voluntarily by a
  1675.    group of people who are interested in a given product.  The purpose
  1676.    of beta testing computer software is to expose the product to a wide
  1677.    variety of hardware under a wide variety of circumstances, and to
  1678.    obtain user feedback and incompatibility/bug reports.
  1679. Q. How much does it pay?
  1680. A. Aside from my gratitude, and the advantage of getting to know and use
  1681.    the product ahead of everyone else, nothing (this is the case with
  1682.    most all software products, if not all).  Beta testers volunteer
  1683.    because they're interested in the product and want to check out the
  1684.    new features, and also want to help to ensure that the product
  1685.    succeeds so it doesn't flop on its face and disappear three months
  1686.    down the road.  Normally only devoted users do the beta testing and
  1687.    if you're not a devoted Intellicomm user you should probably delete
  1688.    this beta release and wait for the general release.  Beta testing
  1689.    (running into bugs) can be frustrating and I don't want to lose your
  1690.    interest before I even get the general release out.  And that may
  1691.    well happen if you aren't a devoted user.
  1692. Q. Should I register the beta, or wait for the general release?
  1693. A. As with everything in user-supported software, it's really up to you. 
  1694.    The problem is that if you "wait" until Icom is 100% bug free (if
  1695.    that day ever comes... Windows, WordPerfect, Lotus, DOS, etc., aren't
  1696.    bug free, but you pay for them first and find the bugs later), I
  1697.    won't be able to pay the bills WHILE I'm working on fixing whatever
  1698.    problems you run into.  By purchasing Intellicomm, you're ensuring
  1699.    that I'll be able to spend time on it.  If you hold onto your money
  1700.    waiting, you're helping to ensure that I'll be forced to find another
  1701.    job to pay my bills... taking time away from Icom, and taking time
  1702.    away from the bug fixing.  I've been developing user-supported
  1703.    software for five years now, I plan to be doing it in another five
  1704.    years, and I'm not about to take your money, leave you in the lurch,
  1705.    and run off to Mexico with it.  <grin>  If you make the purchase,
  1706.    you're allowing me to spend the time on Intellicomm, instead of
  1707.    spending time working for someone else to pay my bills (which I've
  1708.    had to do several times in the last few months, and may have to again
  1709.    soon).
  1710. Q. Can I re-distribute beta releases?
  1711. A. Not yet, and please take this seriously and refrain from giving
  1712.    copies of this beta release to ANYONE.  The first couple of beta
  1713.    releases are bound to have bugs, and the idea is to work out any bugs
  1714.    or incompatibilities BEFORE the general public gets the product.  As
  1715.    soon as it looks fairly stable I'll be distributing it more widely,
  1716.    and a release notice will be posted in the usual tech. support areas
  1717.    at that time.  THEN you can feel free to re-distribute it (with
  1718.    thanks!).
  1719. Q. Can I talk about it?
  1720. A. Yes!  You can discuss anything at all about Icom v2, in public e-mail
  1721.    messages, in any conference, to anyone you like.  And of course, the
  1722.    whole idea of beta testing is to work the bugs out ... so if you find
  1723.    a problem, drop me a line (Wayne Duff) in a NorthAmeriNet or RIME
  1724.    Intellicomm/Liberator conference.  Please keep bug reports limited to
  1725.    the Intellicomm conferences during the beta testing.
  1726.  
  1727. Press [Esc] to exit.
  1728.